cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
↳ QTRS
↳ AAECC Innermost
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
COND1(s(x), y) → GR(s(x), y)
COND2(false, x, y) → P(x)
COND2(true, x, y) → COND1(y, y)
GR(s(x), s(y)) → GR(x, y)
NEQ(s(x), s(y)) → NEQ(x, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
COND1(s(x), y) → GR(s(x), y)
COND2(false, x, y) → P(x)
COND2(true, x, y) → COND1(y, y)
GR(s(x), s(y)) → GR(x, y)
NEQ(s(x), s(y)) → NEQ(x, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
NEQ(s(x), s(y)) → NEQ(x, y)
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
NEQ(s(x), s(y)) → NEQ(x, y)
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
NEQ(s(x), s(y)) → NEQ(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
GR(s(x), s(y)) → GR(x, y)
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GR(s(x), s(y)) → GR(x, y)
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
GR(s(x), s(y)) → GR(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
cond1(s(x), y) → cond2(gr(s(x), y), s(x), y)
cond2(true, x, y) → cond1(y, y)
cond2(false, x, y) → cond1(p(x), y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
p(0) → 0
p(s(x)) → x
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, y1) → COND1(0, y1)
COND2(false, s(x0), y1) → COND1(x0, y1)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND2(false, 0, y1) → COND1(0, y1)
COND2(true, x, y) → COND1(y, y)
COND2(false, s(x0), y1) → COND1(x0, y1)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND2(false, s(x0), y1) → COND1(x0, y1)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND2(false, s(x0), y1) → COND1(x0, y1)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, s(x0), y1) → COND1(x0, y1)
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
(1) (COND2(gr(s(x4), x5), s(x4), x5)=COND2(true, x6, x7) ⇒ COND2(true, x6, x7)≥COND1(x7, x7))
(2) (s(x4)=x26∧gr(x26, x5)=true ⇒ COND2(true, s(x4), x5)≥COND1(x5, x5))
(3) (true=true∧s(x4)=s(x27) ⇒ COND2(true, s(x4), 0)≥COND1(0, 0))
(4) (gr(x28, x29)=true∧s(x4)=s(x28)∧(∀x30:gr(x28, x29)=true∧s(x30)=x28 ⇒ COND2(true, s(x30), x29)≥COND1(x29, x29)) ⇒ COND2(true, s(x4), s(x29))≥COND1(s(x29), s(x29)))
(5) (COND2(true, s(x4), 0)≥COND1(0, 0))
(6) (gr(x28, x29)=true ⇒ COND2(true, s(x28), s(x29))≥COND1(s(x29), s(x29)))
(7) (true=true ⇒ COND2(true, s(s(x32)), s(0))≥COND1(s(0), s(0)))
(8) (gr(x33, x34)=true∧(gr(x33, x34)=true ⇒ COND2(true, s(x33), s(x34))≥COND1(s(x34), s(x34))) ⇒ COND2(true, s(s(x33)), s(s(x34)))≥COND1(s(s(x34)), s(s(x34))))
(9) (COND2(true, s(s(x32)), s(0))≥COND1(s(0), s(0)))
(10) (COND2(true, s(x33), s(x34))≥COND1(s(x34), s(x34)) ⇒ COND2(true, s(s(x33)), s(s(x34)))≥COND1(s(s(x34)), s(s(x34))))
(11) (COND2(gr(s(x12), x13), s(x12), x13)=COND2(false, s(x14), x15) ⇒ COND2(false, s(x14), x15)≥COND1(x14, x15))
(12) (s(x12)=x36∧gr(x36, x13)=false ⇒ COND2(false, s(x12), x13)≥COND1(x12, x13))
(13) (gr(x38, x39)=false∧s(x12)=s(x38)∧(∀x40:gr(x38, x39)=false∧s(x40)=x38 ⇒ COND2(false, s(x40), x39)≥COND1(x40, x39)) ⇒ COND2(false, s(x12), s(x39))≥COND1(x12, s(x39)))
(14) (false=false∧s(x12)=0 ⇒ COND2(false, s(x12), x41)≥COND1(x12, x41))
(15) (gr(x38, x39)=false ⇒ COND2(false, s(x38), s(x39))≥COND1(x38, s(x39)))
(16) (gr(x43, x44)=false∧(gr(x43, x44)=false ⇒ COND2(false, s(x43), s(x44))≥COND1(x43, s(x44))) ⇒ COND2(false, s(s(x43)), s(s(x44)))≥COND1(s(x43), s(s(x44))))
(17) (false=false ⇒ COND2(false, s(0), s(x45))≥COND1(0, s(x45)))
(18) (COND2(false, s(x43), s(x44))≥COND1(x43, s(x44)) ⇒ COND2(false, s(s(x43)), s(s(x44)))≥COND1(s(x43), s(s(x44))))
(19) (COND2(false, s(0), s(x45))≥COND1(0, s(x45)))
(20) (COND1(x17, x17)=COND1(s(x18), x19) ⇒ COND1(s(x18), x19)≥COND2(gr(s(x18), x19), s(x18), x19))
(21) (COND1(s(x18), s(x18))≥COND2(gr(s(x18), s(x18)), s(x18), s(x18)))
(22) (COND1(x20, x21)=COND1(s(x22), x23) ⇒ COND1(s(x22), x23)≥COND2(gr(s(x22), x23), s(x22), x23))
(23) (COND1(s(x22), x21)≥COND2(gr(s(x22), x21), s(x22), x21))
POL(0) = 1
POL(COND1(x1, x2)) = -1 + x1
POL(COND2(x1, x2, x3)) = -1 - x1 + x2
POL(c) = -1
POL(false) = 0
POL(gr(x1, x2)) = 0
POL(s(x1)) = 1 + x1
POL(true) = 0
The following pairs are in Pbound:
COND2(false, s(x0), y1) → COND1(x0, y1)
The following rules are usable:
COND2(true, x, y) → COND1(y, y)
COND2(false, s(x0), y1) → COND1(x0, y1)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
true → gr(s(x), 0)
gr(x, y) → gr(s(x), s(y))
false → gr(0, x)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND1(s(x0), s(x0)) → COND2(gr(s(x0), s(x0)), s(x0), s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND1(s(x0), s(x0)) → COND2(gr(s(x0), s(x0)), s(x0), s(x0))
COND2(true, x, y) → COND1(y, y)
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND1(s(x0), s(x0)) → COND2(gr(x0, x0), s(x0), s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND1(s(x0), s(x0)) → COND2(gr(x0, x0), s(x0), s(x0))
COND2(true, x, y) → COND1(y, y)
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND2(true, s(z0), s(z0)) → COND1(s(z0), s(z0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND1(s(x0), s(x0)) → COND2(gr(x0, x0), s(x0), s(x0))
COND2(true, s(z0), s(z0)) → COND1(s(z0), s(z0))
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND1(s(s(x0)), s(s(x0))) → COND2(gr(x0, x0), s(s(x0)), s(s(x0)))
COND1(s(0), s(0)) → COND2(false, s(0), s(0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND1(s(s(x0)), s(s(x0))) → COND2(gr(x0, x0), s(s(x0)), s(s(x0)))
COND2(true, s(z0), s(z0)) → COND1(s(z0), s(z0))
COND1(s(0), s(0)) → COND2(false, s(0), s(0))
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND1(s(s(x0)), s(s(x0))) → COND2(gr(x0, x0), s(s(x0)), s(s(x0)))
COND2(true, s(z0), s(z0)) → COND1(s(z0), s(z0))
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND2(true, s(s(z0)), s(s(z0))) → COND1(s(s(z0)), s(s(z0)))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ UsableRulesProof
COND2(true, s(s(z0)), s(s(z0))) → COND1(s(s(z0)), s(s(z0)))
COND1(s(s(x0)), s(s(x0))) → COND2(gr(x0, x0), s(s(x0)), s(s(x0)))
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ MNOCProof
↳ QDP
↳ UsableRulesProof
COND2(true, s(s(z0)), s(s(z0))) → COND1(s(s(z0)), s(s(z0)))
COND1(s(s(x0)), s(s(x0))) → COND2(gr(x0, x0), s(s(x0)), s(s(x0)))
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
p(0)
p(s(x0))
cond1(s(x0), x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
neq(0, 0)
neq(0, s(x0))
neq(s(x0), 0)
neq(s(x0), s(x1))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
COND2(true, x, y) → COND1(y, y)
COND1(s(x), y) → COND2(gr(s(x), y), s(x), y)
COND2(false, x, y) → COND1(p(x), y)
p(0) → 0
p(s(x)) → x
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false